﻿using Abp.Application.Services;
using FwProject.Com.Dto;
using FwProject.Commodity.Dto;
using FwProject.ShopApplication;
using FwProject.ShoppingMall.Com;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using X.PagedList;

namespace FwProject.Com
{
    /// <summary>
    /// 商品收藏管理
    /// </summary>
   public  interface ICommodityCollectionAppService : IApplicationService
    {
        /// <summary>
        /// 设置收藏信息
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        Task<Guid> SetCommodityCollection(CommodityCollectionInput model);
        /// <summary>
        /// 删除一个收藏信息
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        Task DeleteCommodityCollection(Guid Id);
        /// <summary>
        /// 获取当前用户的的收藏
        /// </summary>
        /// <param name="page"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        Task<IPagedList<CommodityCollectionProductShopDto>> GetCommodityCollectionProduct(int page, int pageSize);
        /// <summary>
        /// 通过商品id判断用户是否收藏过此产品
        /// </summary>
        /// <param name="shopid"></param>
        /// <returns></returns>
        Task<bool> GetCommodityCollection(Guid shopid);

        Task<LayerDataBaseDto> GetShopCollectionAsync(int page, int limit);
        Task<List<CollectionCountDto>> GetCollectionCountAsync();
    }
}
